Imports Iou = System.IO
Imports Sys = System
Imports Tex = System.Text

Namespace Enhancements.Core.Logging
    ''' <summary>A type of configuration specific to ConsoleWriter instances.</summary>
    Public NotInheritable Class ConsoleWriterConfiguration
        Inherits WriterConfiguration

        ''' <summary>Initializes a ConsoleWriterConfiguration instance.</summary>
        ''' <param name="_encoding">Encoding to use by the instance.</param>
        ''' <exception cref="IsNullException">_encoding is null.</exception>
        Public Sub New(ByVal _encoding As Tex.Encoding)
            Encoding = _encoding
        End Sub

        Private __Encoding As Tex.Encoding = Tex.UTF32Encoding.UTF32
        ''' <summary>Gets and sets the encoding used by the instance.</summary>
        ''' <exception cref="IsNullException">The value is null (while setting).</exception>
        Public Property Encoding() As Tex.Encoding
            Get
                Return __Encoding
            End Get
            Set(ByVal _value As Tex.Encoding)
                ___Assert.___IsNullNot("Encoding._value", _value, True)

                __Encoding = _value
            End Set
        End Property

    End Class
End Namespace
